<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>逻辑运算符</title>
    <script>
        /* 
            逻辑运算符

                ！  非

                    可以对一个值进行非运算,可以对一个布尔值进行取反操作。
                    如果对一个非布尔值进行取反，会先转为布尔值然后取反。
                        可以利用这个特点将其他类型转为布尔值


                &&  与
                    可以对两个值进行与运算
                    当&&左右都为true才会返回true
                    对于非布尔值进行运算，它会转为布尔值然后运算，但是最终会返回原值。
                    如果第一个值为flase,则直接返回第一个值。
                    如果第一个值为true，则直接返回第二个值。


                ||  或
                    左右有true，则返回true
                    如果第一个值为true，则后面的都不在执行。
                    如果第一个值为flase,则直接返回第二个值。



                类型转换：
                    1.转为字符串
                        -显式转换
                            String()函数
                        -隐式转换
                            ""+
                    2.转为数值
                        -显式转换
                            Number()函数
                        -隐式转换
                            +                       
                    3.转为布尔值
                        -显式转换
                            Boolean()函数
                        -隐式转换
                            !!                    
        */
        let a = true;
        b = !a
        console.log(b);//flase

        let result
        result = !b && a;
        console.log(result)


    </script>
</head>

<body>

</body>

</html>